package com.example.basic.web.service.pharmZone;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.basic.web.model.pharmZone.PharmZone;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author suntt
 * @since 2019-10-29
 */
public interface PharmZoneService {

    /**
     * 保存或者修改  zzl
     * @param pharmZone 模型
     * @return
     */
    PharmZone addOrUpdate(PharmZone pharmZone);

    /**
     * 详情  zzl
     * @param zoneCode 分区编码
     * @return
     */
    PharmZone detail(String zoneCode);

    /**
     * 删除  zzl
     * @param zoneCode 分区编码
     * @return
     */
    int delete(String zoneCode);

    /**
     * 启用/禁用  zzl
     * @param zoneCode 分区编码
     * @return
     */
    int enableOrDisable(String zoneCode);

    /**
     * 仓库分区列表
     *
     * @param queryPage   分页
     * @param searchParam 模糊搜索(拼音码,五笔码,名称,编码)
     * @param isAll       是否查询全部 0-否，1-是
     * @param pharmCode 仓库编码
     * @return
     */
    IPage<PharmZone> queryList(Page<PharmZone> queryPage, String searchParam, String isAll, String pharmCode);

    /**
     * 查询仓库下在用分区
     * @param pharmCode 仓库编码
     * @return
     */
    List<PharmZone> queryByPharm(String pharmCode);

    /**
     * 分区数据导入
     * @param file 文件
     * @param pharmCode 仓库编码
     * @return
     */
    Boolean importData(MultipartFile file, String pharmCode);

    /**
     * 分区导出
     *
     * @param queryPage   分页
     * @param searchParam 模糊搜索(拼音码,五笔码,名称,编码)
     * @param isAll       是否查询全部 0-否，1-是
     * @param response
     */
    void zoneExport(Page<PharmZone> queryPage, String searchParam, String isAll, HttpServletResponse response) throws IOException;
}